using System;
using System.Collections.Generic;
using System.Text;

using XGAE.Framework;

using xBackend = XGAE.Framework.Backend;

namespace XGAE.Body.Physics
{
    /// <summary>
    /// The base class stores all the data used by the implementation.  This is defined in the 
    /// XML model, so the mechanical manipulation of data can be generated automatically. 
    /// </summary>
    interface IPhysicsBase
    {
        /// <summary>
        /// Backend hook
        /// </summary>
        xBackend.IPhysics Backend { get; }

        /// <summary>
        /// Collects all exported State interfaces
        /// </summary>
        List<Interface> StateChannel { get; }

        /// <summary>
        /// Scan through all the interfaces in this channel, and dispatch the message to each one. 
        /// </summary>
        /// <param name="m"></param>
        void BroadcastState(Message m);
    }
}
